package cn.funeralobjects.upms.service;

import cn.funeralobjects.common.service.*;
import cn.funeralobjects.upms.BasicInfo;
import cn.funeralobjects.upms.entity.EUser;
import cn.funeralobjects.upms.model.User;

/**
 * 用户业务接口
 *
 * @author FuneralObjects
 * Create date: 2020/4/20 9:30 AM
 */
public interface UserService extends
        CommonModifyService<User, EUser, Integer>,
        EntityService<EUser, Integer>,
        CodeService<EUser, Integer>,
        EnableService<EUser, Integer>,
        DelSaltService<EUser, Integer>,
        CommitService<Integer>,
        IdService<Integer>,
        ModuleService {

    String ENTITY_NAME = "USER";

    /**
     * 获取用户序列号
     *
     * @param userId 用户id
     * @return 序列号
     */
    String getAuthUserSerial(Integer userId);

    /**
     * 刷新用户序列号
     *
     * @param userId 用户id
     */
    void refreshAuthUserSerial(Integer userId);

    /**
     * 获取实体名
     *
     * @return 实体名
     */
    @Override
    default String getName() {
        return ENTITY_NAME;
    }

    /**
     * 获取模块名
     *
     * @return 模块名
     */
    @Override
    default String getModuleName() {
        return BasicInfo.MODULE;
    }
}
